The present invention relates to an echo cancelling method and an echo canceller for cancelling echoes that cause howling and interfere with conversation in a teleconferencing system, a hands-free audio terminal and other similar hands-free telecommunication systems.
As satellite communication and audio teleconferencing have now come into wide use, there is a strong demand for the implementation of a telecommunication system which gives excellent simultaneous conversation performance and efficiently suppresses acoustic feedback. To meet this requirement, there have been proposed echo cancellers. In FIG. 1 there is shown, as being applied to hands-free telecommunication, a conventional echo canceller disclosed in Japanese Patent Application Laid-Open No. 220530/89. In a telecommunication system composed of a receiving system from a receive input terminal 1 for a received signal x(t) to a loudspeaker 2 and a sending system from a microphone 3 to a send out terminal 4, the received signal x(t) is sampled by an analog-to-digital (A/D) converting part 5, and the thus sampled received signal x(n) is provided onto an estimated echo path 6, from which an echo replica y (n) is output. 0n the other hand, an echo y(t) input into the microphone 3 is sampled by an A/D converting part 7 and the thus sampled echo y(n) is provided to a subtracting part 8, wherein the above-mentioned echo replica y(n) is subtracted from the sampled echo y(n), thereby cancelling the echo y(n) which would otherwise be fed to the send out terminal 4.
The estimated echo path 6 needs to follow up temporal variations of the echo path Pe from the loudspeaker 2 to the microphone 3. The estimated echo path 6 is formed by a digital finite impulse response (FIR) filter, for example, and the filter coefficient is iteratively adjusted by an estimating part 9 using a least-mean-squares (LMS) algorithm, a normalized LMS (NLMS) algorithm, an ES algorithm, or a recursive least-squares (RLS) algorithm so that an error, e(n)=y(n)-y(n), which is the output from the subtracting part 8, may approach zero. With such adjustment of the estimated echo path 6, optimum echo cancellation takes place at all times. The echo-cancelled send out signal from the microphone 3 is converted by a digital-to-analog (D/A) converting part 10 into analog form, thereafter being fed to the send out terminal 4.
Next, a description will be given of conventional filter coefficient adjustment schemes. Gradient type adaptive algorithms, such as the LMS algorithm and the NLMS algorithm, are expressed, in general, as follows: EQU h(n+1)=h(n)+.alpha.[-.DELTA.(n)] (1)
where EQU h(n)=(h.sub.1 (n), h.sub.2 (n), . . . , h.sub.L (n)).sup.T : estimated echo path (FIR filter) coefficient,
.DELTA.(n): (mean) squared error gradient vector, PA1 .alpha.: step size (scalar quantity), PA1 L: number of taps, PA1 T: vector transpose, PA1 n: discrete time. PA1 y(n)=h(n).sup.T.x(n), PA1 x(n)=(x(n), x(n-1), . . . , x(n-L+1)).sup.T : received signal vector. PA1 .gamma.: exponential attenuation ratio of an impulse response variation of the acoustic echo path (0&lt;.gamma.&lt;1). PA1 P(n): L.times.L coefficient error covariance matrix,
In the LMS algorithm the gradient vector of the mean squared error is expressed by EQU .DELTA.(n)=-e(n).x(n),
and in the NLMS algorithm it is expressed by ##EQU1## where e(n): error (=y(n)-y(n)),
The ES algorithm is one in which the step size .alpha., conventionally given as a scalar quantity in Eq. (1), is extended to a diagonal matrix referred to as a step size matrix A. The ES algorithm is expressed by the following equation: EQU h(n+1)=h(n)+A[-.DELTA.(n)] (2)
where ##EQU2## EQU .alpha..sub.i =.alpha..sub.0 .gamma..sup.i-1 (i=1, 2, . . . , L),
Where the estimated echo path 6 is formed by a digital FIR filter, its filter coefficient h(n) is a directly simulated version of a room impulse response h(n). Hence, the magnitude of adjustment of the filter coefficient that is needed for each variation of the echo path is the same as the room impulse response variation. The step size matrix A, which represents the quantity of adjustment in the filter coefficient adjustment operation, is weighted by a temporal variation characteristic of the impulse response. In general, the variation in the room impulse response is expressed as an exponential function using the attenuation ratio .gamma.. The diagonal component .alpha..sub.i (i=1, 2, . . . , L) of the step size matrix A attenuates exponentially from .alpha..sub.0 and gradually approaches 0 as i increases, with the same slope or gradient as that of the exponential attenuation characteristic of the impulse response, as shown in FIG. 2.
The step size matrix A that represents the attenuation of the room impulse response is disclosed in, for example, U.S. patent application Ser. No. 07/756,622, now Makino et al U.S. Pat. No. 5,272,695, by the inventors of this application. This algorithm is based on an acoustic finding that when the impulse response is varied by movement of a man or object, the variation (the difference in the impulse response) attenuates exponentially at the same attenuation ratio as that of the impulse response. By adjusting coefficients in an early stage of the impulse response of great variation with large steps and coefficients in a late stage of the impulse response of little variation with small steps, it is possible to obtain an echo canceller of high convergence speed.
By applying the ES algorithm to the NLMS algorithm, the estimated echo path 6 is iteratively adjusted following Eq. (3) given below, with the result that the impulse response h(n) of the estimated echo path 6 approaches the impulse response h(n) of the true echo path Pe. ##EQU3##
On the other hand, the RLS algorithm is well-known as an adaptive algorithm of fast convergence. The RLS algorithm is introduced in detail in a chapter entitled "Standard Recursive Least-Squares Estimation" in a textbook "ADAPTIVE FILTER THEORY" by SIMON HAYKIN (Prentice-Hall), for instance, and it is a significant feature of this algorithm that about the same convergence speed as that for a white noise is provided for a colored signal as well. The iterative adjustment equation of the impulse response h(n) by the RLS algorithm is expressed as follows: ##EQU4## where k(n): L-th order gain vector,
.nu.: forgetting factor (0&lt;.nu..ltoreq.1).
The matrix P(n) is defined as an inverse matrix of the covariance matrix of the input signal and when the impulse response is time-invariant and expressed as h.sub.0, it can be regarded as a covariance matrix of coefficient errors as given below. EQU P(n)=E[{h.sub.0 -h(n)}{h.sub.0 -h(n)}.sup.T ] (7)
where E[.] is statistical expectation. These equations (4) through (7) use different symbols but are essentially the same as those given in the aforementioned Simon Haykin's textbook.
FIG. 3 shows an example of the configuration of the estimating part 9 in FIG. 1 that uses the RLS algorithm involving Eqs. (4) through (7).
The received signal x(n) is fed to a received signal memory part 11, wherein it is rendered into a received signal vector x(n). The received signal vector x(n), the coefficient error covariance matrix P(n) from a coefficient error covariance matrix memory part 12 and the forgetting factor .nu. from a forgetting factor memory part 13 are provided to a gain calculating part 14, wherein the calculation of Eq. (5) is conducted. The thus obtained gain vector k(n) is stored in a gain memory part 15. The gain vector k(n) and the error e(n) are provided to a multiplying part 16, wherein the second term on the right-hand side of Eq. (4) is calculated. The calculated output is supplied to an adding part 17, wherein it is added to the filter coefficient h(n) from the tap coefficient memory part 18 to obtain h(n+1). The calculated value h(n+1) is provided onto the estimated echo path 6 in FIG. 1, while at the same time it is provided to the tap coefficient memory part 18 to update its stored contents.
The coefficient error covariance matrix P(n) from the coefficient error covariance matrix memory part 12, the gain vector k(n) from the gain memory part 15, the received signal vector x(n) from the received signal memory part 11 and the forgetting factor .nu. from the forgetting factor memory part 13 are provided to an updating part 19, wherein the calculation of Eq. (6) is conducted to update the value P(n) stored in the coefficient error covariance matrix memory part 12.
Through the processings described above, the impulse response h(n+1) which is provided as a filter coefficient onto the estimated echo path 6 in FIG. 1 is iteratively adjusted, and thus the impulse response h(n+1) of the estimated echo path 6 approaches the impulse response h(n+1) of the true echo path Pe.
When the input is a white noise, the RLS algorithm converges at about the same speed as the NLMS algorithm, and hence has a disadvantage that the convergence speed is slow.